package com.xdf.whiteaccount.entity;
import java.io.Serializable;
import java.math.BigDecimal;

/**
 * 由 chanchaw 创建于 2025-3-4 10:56:34，实现功能如下：
 * 1. 实现接口 Serializable
 * 2. 无参构造函数
 * 3. 建造者模式
 * 4. getter,setter,toString()
 * 生产计划
 */
public class ProducePlan implements Serializable {
    public ProducePlan() {}
    private static final long serialVersionUID = 1L;

    private Integer id;//自增主键
    private Integer orderCodeYear;//按年自增的编号，从1开始，前端拼接为：BYJ2025-032，从本计划生成的卡片号码：25032-01
    private Integer orderCodeMonth;//按月自增的编号，从1开始，备用
    private String clientOrderCode;//客户订单号，备用
    private String billCode;//单据编号，备用
    private String client;//客户，可保存客户编号或者名称
    private String alias;//客户别名
    private java.util.Date billDate;//下单日期，单据日期
    private java.util.Date shippingDate;//出货日期
    private String productName;//品名
    private String productSpecification;//成品规格
    private String fabricSpecification;//坯布规格
    private String color;//颜色
    private BigDecimal piece;//匹数，备用
    private BigDecimal kilo;//公斤
    private Integer machineQty;//上机数，用于生产本计划的机台数量
    private String yarnTotal;//总经
    private String longitude;//经纱
    private String latitude;//纬纱
    private String yarnLong;//经长
    private String latilong;//经纬密度
    private String kouWidth;//经纬密度
    private String fabricWidth;//门幅
    private Integer state;//状态，默认1有效，0已作废，2已审核，3已驳回
    private Integer isDelete;//删除标识，默认0未删除，1表示删除。mybatis-flex默认使用该名称作为逻辑删除的标识
    private String remark;//备注
    private String sysRemark;//系统备注，系统在做自动化操作时用于说明业务逻辑
    private Integer numPrints;//打印次数
    private Float seq;//排序序号
    private java.util.Date createTime;//创建时间,DB自动填充
    private String createUser;//创建人
    private java.util.Date lastTime;//最后一次修改时间
    private String lastUser;//修改人
    private String spares01;//备用字符串类型
    private String spares02;//备用字符串类型
    private String spares03;//备用字符串类型
    private Integer sparei01;//备用整数类型
    private Integer sparei02;//备用整数类型
    private Integer sparei03;//备用整数类型
    private Boolean isMarking;//备用整数类型
    private String code;//临时字段

    public String getCode() {
        return code;
    }

    public void setCode(String code) {
        this.code = code;
    }

    public Boolean getMarking() {
        return isMarking;
    }

    public void setMarking(Boolean marking) {
        isMarking = marking;
    }

    public String getAlias() {
        return alias;
    }

    public void setAlias(String alias) {
        this.alias = alias;
    }

    public String getKouWidth() {
        return kouWidth;
    }

    public void setKouWidth(String kouWidth) {
        this.kouWidth = kouWidth;
    }

    public Integer getId(){return this.id;}
    public void setId(Integer id){this.id = id;}
    public Integer getOrderCodeYear(){return this.orderCodeYear;}
    public void setOrderCodeYear(Integer orderCodeYear){this.orderCodeYear = orderCodeYear;}
    public Integer getOrderCodeMonth(){return this.orderCodeMonth;}
    public void setOrderCodeMonth(Integer orderCodeMonth){this.orderCodeMonth = orderCodeMonth;}
    public String getClientOrderCode(){return this.clientOrderCode;}
    public void setClientOrderCode(String clientOrderCode){this.clientOrderCode = clientOrderCode;}
    public String getBillCode(){return this.billCode;}
    public void setBillCode(String billCode){this.billCode = billCode;}
    public String getClient(){return this.client;}
    public void setClient(String client){this.client = client;}
    public java.util.Date getBillDate(){return this.billDate;}
    public void setBillDate(java.util.Date billDate){this.billDate = billDate;}
    public java.util.Date getShippingDate(){return this.shippingDate;}
    public void setShippingDate(java.util.Date shippingDate){this.shippingDate = shippingDate;}
    public String getProductName(){return this.productName;}
    public void setProductName(String productName){this.productName = productName;}
    public String getProductSpecification(){return this.productSpecification;}
    public void setProductSpecification(String productSpecification){this.productSpecification = productSpecification;}
    public String getFabricSpecification(){return this.fabricSpecification;}
    public void setFabricSpecification(String fabricSpecification){this.fabricSpecification = fabricSpecification;}
    public String getColor(){return this.color;}
    public void setColor(String color){this.color = color;}
    public BigDecimal getPiece(){return this.piece;}
    public void setPiece(BigDecimal piece){this.piece = piece;}
    public BigDecimal getKilo(){return this.kilo;}
    public void setKilo(BigDecimal kilo){this.kilo = kilo;}
    public Integer getMachineQty(){return this.machineQty;}
    public void setMachineQty(Integer machineQty){this.machineQty = machineQty;}
    public String getYarnTotal(){return this.yarnTotal;}
    public void setYarnTotal(String yarnTotal){this.yarnTotal = yarnTotal;}
    public String getLongitude(){return this.longitude;}
    public void setLongitude(String longitude){this.longitude = longitude;}
    public String getLatitude(){return this.latitude;}
    public void setLatitude(String latitude){this.latitude = latitude;}
    public String getYarnLong(){return this.yarnLong;}
    public void setYarnLong(String yarnLong){this.yarnLong = yarnLong;}
    public String getLatilong(){return this.latilong;}
    public void setLatilong(String latilong){this.latilong = latilong;}
    public String getFabricWidth(){return this.fabricWidth;}
    public void setFabricWidth(String fabricWidth){this.fabricWidth = fabricWidth;}
    public Integer getState(){return this.state;}
    public void setState(Integer state){this.state = state;}
    public Integer getIsDelete(){return this.isDelete;}
    public void setIsDelete(Integer isDelete){this.isDelete = isDelete;}
    public String getRemark(){return this.remark;}
    public void setRemark(String remark){this.remark = remark;}
    public String getSysRemark(){return this.sysRemark;}
    public void setSysRemark(String sysRemark){this.sysRemark = sysRemark;}
    public Integer getNumPrints(){return this.numPrints;}
    public void setNumPrints(Integer numPrints){this.numPrints = numPrints;}
    public Float getSeq(){return this.seq;}
    public void setSeq(Float seq){this.seq = seq;}
    public java.util.Date getCreateTime(){return this.createTime;}
    public void setCreateTime(java.util.Date createTime){this.createTime = createTime;}
    public String getCreateUser(){return this.createUser;}
    public void setCreateUser(String createUser){this.createUser = createUser;}
    public java.util.Date getLastTime(){return this.lastTime;}
    public void setLastTime(java.util.Date lastTime){this.lastTime = lastTime;}
    public String getLastUser(){return this.lastUser;}
    public void setLastUser(String lastUser){this.lastUser = lastUser;}
    public String getSpares01(){return this.spares01;}
    public void setSpares01(String spares01){this.spares01 = spares01;}
    public String getSpares02(){return this.spares02;}
    public void setSpares02(String spares02){this.spares02 = spares02;}
    public String getSpares03(){return this.spares03;}
    public void setSpares03(String spares03){this.spares03 = spares03;}
    public Integer getSparei01(){return this.sparei01;}
    public void setSparei01(Integer sparei01){this.sparei01 = sparei01;}
    public Integer getSparei02(){return this.sparei02;}
    public void setSparei02(Integer sparei02){this.sparei02 = sparei02;}
    public Integer getSparei03(){return this.sparei03;}
    public void setSparei03(Integer sparei03){this.sparei03 = sparei03;}


    @Override
    public String toString() {
        return "ProducePlan{" +
        ",id='" + id + '\'' +
        ",orderCodeYear='" + orderCodeYear + '\'' +
        ",orderCodeMonth='" + orderCodeMonth + '\'' +
        ",clientOrderCode='" + clientOrderCode + '\'' +
        ",billCode='" + billCode + '\'' +
        ",client='" + client + '\'' +
        ",billDate='" + billDate + '\'' +
        ",shippingDate='" + shippingDate + '\'' +
        ",productName='" + productName + '\'' +
        ",productSpecification='" + productSpecification + '\'' +
        ",fabricSpecification='" + fabricSpecification + '\'' +
        ",color='" + color + '\'' +
        ",piece='" + piece + '\'' +
        ",kilo='" + kilo + '\'' +
        ",machineQty='" + machineQty + '\'' +
        ",yarnTotal='" + yarnTotal + '\'' +
        ",longitude='" + longitude + '\'' +
        ",latitude='" + latitude + '\'' +
        ",yarnLong='" + yarnLong + '\'' +
        ",latilong='" + latilong + '\'' +
        ",fabricWidth='" + fabricWidth + '\'' +
        ",state='" + state + '\'' +
        ",isDelete='" + isDelete + '\'' +
        ",remark='" + remark + '\'' +
        ",sysRemark='" + sysRemark + '\'' +
        ",numPrints='" + numPrints + '\'' +
        ",seq='" + seq + '\'' +
        ",createTime='" + createTime + '\'' +
        ",createUser='" + createUser + '\'' +
        ",lastTime='" + lastTime + '\'' +
        ",lastUser='" + lastUser + '\'' +
        ",spares01='" + spares01 + '\'' +
        ",spares02='" + spares02 + '\'' +
        ",spares03='" + spares03 + '\'' +
        ",sparei01='" + sparei01 + '\'' +
        ",sparei02='" + sparei02 + '\'' +
        ",sparei03='" + sparei03 + '\'' +
        ",kouWidth='" + kouWidth + '\'' +
        '}';
    }

    public static class Builder{
        private Integer id;
        private Integer orderCodeYear;
        private Integer orderCodeMonth;
        private String clientOrderCode;
        private String billCode;
        private String client;
        private java.util.Date billDate;
        private java.util.Date shippingDate;
        private String productName;
        private String productSpecification;
        private String fabricSpecification;
        private String color;
        private BigDecimal piece;
        private BigDecimal kilo;
        private Integer machineQty;
        private String yarnTotal;
        private String longitude;
        private String latitude;
        private String yarnLong;
        private String latilong;
        private String fabricWidth;
        private Integer state;
        private Integer isDelete;
        private String remark;
        private String sysRemark;
        private Integer numPrints;
        private Float seq;
        private java.util.Date createTime;
        private String createUser;
        private java.util.Date lastTime;
        private String lastUser;
        private String spares01;
        private String spares02;
        private String spares03;
        private Integer sparei01;
        private Integer sparei02;
        private Integer sparei03;

        public Builder id(Integer id){this.id = id;return this;}
        public Builder orderCodeYear(Integer orderCodeYear){this.orderCodeYear = orderCodeYear;return this;}
        public Builder orderCodeMonth(Integer orderCodeMonth){this.orderCodeMonth = orderCodeMonth;return this;}
        public Builder clientOrderCode(String clientOrderCode){this.clientOrderCode = clientOrderCode;return this;}
        public Builder billCode(String billCode){this.billCode = billCode;return this;}
        public Builder client(String client){this.client = client;return this;}
        public Builder billDate(java.util.Date billDate){this.billDate = billDate;return this;}
        public Builder shippingDate(java.util.Date shippingDate){this.shippingDate = shippingDate;return this;}
        public Builder productName(String productName){this.productName = productName;return this;}
        public Builder productSpecification(String productSpecification){this.productSpecification = productSpecification;return this;}
        public Builder fabricSpecification(String fabricSpecification){this.fabricSpecification = fabricSpecification;return this;}
        public Builder color(String color){this.color = color;return this;}
        public Builder piece(BigDecimal piece){this.piece = piece;return this;}
        public Builder kilo(BigDecimal kilo){this.kilo = kilo;return this;}
        public Builder machineQty(Integer machineQty){this.machineQty = machineQty;return this;}
        public Builder yarnTotal(String yarnTotal){this.yarnTotal = yarnTotal;return this;}
        public Builder longitude(String longitude){this.longitude = longitude;return this;}
        public Builder latitude(String latitude){this.latitude = latitude;return this;}
        public Builder yarnLong(String yarnLong){this.yarnLong = yarnLong;return this;}
        public Builder latilong(String latilong){this.latilong = latilong;return this;}
        public Builder fabricWidth(String fabricWidth){this.fabricWidth = fabricWidth;return this;}
        public Builder state(Integer state){this.state = state;return this;}
        public Builder isDelete(Integer isDelete){this.isDelete = isDelete;return this;}
        public Builder remark(String remark){this.remark = remark;return this;}
        public Builder sysRemark(String sysRemark){this.sysRemark = sysRemark;return this;}
        public Builder numPrints(Integer numPrints){this.numPrints = numPrints;return this;}
        public Builder seq(Float seq){this.seq = seq;return this;}
        public Builder createTime(java.util.Date createTime){this.createTime = createTime;return this;}
        public Builder createUser(String createUser){this.createUser = createUser;return this;}
        public Builder lastTime(java.util.Date lastTime){this.lastTime = lastTime;return this;}
        public Builder lastUser(String lastUser){this.lastUser = lastUser;return this;}
        public Builder spares01(String spares01){this.spares01 = spares01;return this;}
        public Builder spares02(String spares02){this.spares02 = spares02;return this;}
        public Builder spares03(String spares03){this.spares03 = spares03;return this;}
        public Builder sparei01(Integer sparei01){this.sparei01 = sparei01;return this;}
        public Builder sparei02(Integer sparei02){this.sparei02 = sparei02;return this;}
        public Builder sparei03(Integer sparei03){this.sparei03 = sparei03;return this;}
        public ProducePlan build(){
            return new ProducePlan(this);
        }
    }

    public static Builder builder(){return new Builder();}
    public ProducePlan(Builder builder){
        this.id = builder.id;
        this.orderCodeYear = builder.orderCodeYear;
        this.orderCodeMonth = builder.orderCodeMonth;
        this.clientOrderCode = builder.clientOrderCode;
        this.billCode = builder.billCode;
        this.client = builder.client;
        this.billDate = builder.billDate;
        this.shippingDate = builder.shippingDate;
        this.productName = builder.productName;
        this.productSpecification = builder.productSpecification;
        this.fabricSpecification = builder.fabricSpecification;
        this.color = builder.color;
        this.piece = builder.piece;
        this.kilo = builder.kilo;
        this.machineQty = builder.machineQty;
        this.yarnTotal = builder.yarnTotal;
        this.longitude = builder.longitude;
        this.latitude = builder.latitude;
        this.yarnLong = builder.yarnLong;
        this.latilong = builder.latilong;
        this.fabricWidth = builder.fabricWidth;
        this.state = builder.state;
        this.isDelete = builder.isDelete;
        this.remark = builder.remark;
        this.sysRemark = builder.sysRemark;
        this.numPrints = builder.numPrints;
        this.seq = builder.seq;
        this.createTime = builder.createTime;
        this.createUser = builder.createUser;
        this.lastTime = builder.lastTime;
        this.lastUser = builder.lastUser;
        this.spares01 = builder.spares01;
        this.spares02 = builder.spares02;
        this.spares03 = builder.spares03;
        this.sparei01 = builder.sparei01;
        this.sparei02 = builder.sparei02;
        this.sparei03 = builder.sparei03;
    }
    /**
     * 自定义代码请写在此处之后
     */
}
